package com.yiren.dbaa.module.practice_set.map.contract;

import com.yiren.backstage.currency.entity.MapEntity;
import com.yiren.backstage.currency.entity.SiteEntity;
import com.yiren.dbaa.currency.api.CommonCallBack;
import com.yiren.dbaa.module.practice_set.basestation.bean.BaseStationBean;
import com.yiren.dbaa.module.practice_set.site.bean.ProvinceBean;

import java.util.List;

/**
 * @author lwb
 * @date : 2022/11/28 17:00
 * @description:  新增地图锲约
 */
public interface AddMapContract {

    interface Presenter {
        /**
         * 加载新增地图共享列表
         */
        void loadShareMap(View view, String city, String user);

        /**
         * 加载省份和城市
         */
        void loadProvinceCity(View view);

        /**
         * 添加地图采集
         */
        void addMapCollect(View view);

        /**
         *
         * @param map   地图信息
         * @param mapListSer  服务器地图数据
         * @param callBack
         */
        void  downLoadMap(MapEntity map,List<MapEntity> mapListSer,CommonCallBack callBack);

    }

    interface Model {
        /**
         * 根据城市和共享人获取规则列表
         */
        void  getShareMap(String city, String user, CommonCallBack callBack);

        /**
         * 获取基站列表
         *
         * @param callBack
         */
        void getBaseStationList(CommonCallBack callBack);

        /**
         * 本地是否存在地图
         * @param map  地图信息
         * @param mapListSer 服务器地图列表
         * @return
         */
        boolean isHaveData(MapEntity map, List<MapEntity> mapListSer);

    }

    interface View {


        void showAddMapDialog(int userId, List<SiteEntity> siteList, List<BaseStationBean> baseStationBeans);

        /**
         * 显示共享规则列表
         */
        void showShareMapList(List<MapEntity> mapList);


        /**
         * 显示省份和
         */
        void showProvinceCity(List<ProvinceBean>  provinceList);

    }



}
